package object;

public class IntergerDemo {
    public static void main(String[] args) {
        //演示包装类的常用操作：
        //1）可以通过包装类来获取基本类型的取值范围
        int max = Integer.MAX_VALUE;//获取int的最大值
        int min = Integer.MIN_VALUE;//获取int的最小值
        System.out.println("int的最大值为:"+max+",最小值为："+min);

        long max1 = Integer.MAX_VALUE;//获取long的最大值
        long min1 = Integer.MIN_VALUE;//获取long的最小值
        System.out.println("long的最大值为:"+max+",最小值为："+min);

        //2 包装类可以将字符串转换为对应的基本类型----必须熟练掌握
        String s1 = "39";
        int age = Integer.parseInt(s1);
        System.out.println(age);

        String s2 = "123.456";
        double price = Double.parseDouble(s2);
        System.out.println(price);





        /*
        //触发了自动装箱特性，会被编译为：Inter i = Inter.valueOf(5)
        Integer i = 5;//基本类型到包装类-----装箱
        //触发了自动拆箱特性，会被编译为int j = i.intValue();
        int j = i;//包装类到基本类型------拆箱
         */

        //演示包装类的定义
        Integer i1 = new Integer(500);
        Integer i2 = new Integer(500);
        System.out.println(i1==i2);//false,==比较的是地址
        System.out.println(i1.equals(i2));//true，包装类重写equals比较值了

        //valueof()方法复用1个字节(-128到127)范围内的数据，建议使用valueof()
        Integer i3 = Integer.valueOf(158);
        Integer i4 = Integer.valueOf(6);
        System.out.println(i3==i4);//true
        System.out.println(i3.equals(i4));//true，包装类重写equals()比较值了

        //将包装类转换为基本类型
        int i = i4.intValue();
        System.out.println(i);

    }
}